import { h, render } from 'vue'
import messageComponent from './index.vue'

/**
 * 
 * @param {*} type 类型 info、success、warn、error
 * @param {*} content 描述文本
 * @param {*} duration 展示时间（毫秒）默认3000
 * @returns 
 */
export const message = (type, content, duration = 3000 ) => {
  /**
   * 动画结束时的回调
   */
  const onDestory = () => {
    // 3、删除render
    render(null, document.body)
  }

  // 1、生产 vnode
  const vnode = h(messageComponent, {
    type,
    duration,
    content,
    destory: onDestory,
  })
  // 2、渲染 render
  render(vnode, document.body)
}
